<!DOCTYPE html>
<html class="" lang="zh-CN"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="stock2,PHP" name="Keywords">
<meta content="基于成长股和网格交易理论的股票筛选、交易点提示程序。" name="Description">
<title>
yangjh/stock2 - 码云 - 开源中国
</title>
<link href="http://git.oschina.net/assets/favicon-f6562a1bc6a110e32367f6e0cab4ba89.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
<meta content="git.oschina.net/yangjh/stock2 git https://git.oschina.net/yangjh/stock2.git" name="go-import">
<link href="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/application-41cacc41f0327f8243169b5fae5d2a3b.css" media="screen" rel="stylesheet" type="text/css">
<script src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/hm.js"></script><script src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/application-00769f15ea8b3df2167f89c1c023cb53.js" type="text/javascript"></script>
<script src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/jquery.js" type="text/javascript"></script>

<meta content="authenticity_token" name="csrf-param">
<meta content="2UjFOQJ7/UkYqEJcAwYNXbs3SoejdXyIuI+RJorY0Fo=" name="csrf-token">
<script type="text/javascript">
//<![CDATA[
window.gon = {};gon.gravatar_url="http://www.gravatar.com/avatar/%{hash}?s=%{size}\u0026d=mm";gon.http_clone="https://git.oschina.net/yangjh/stock2.git";gon.user_project="yangjh/stock2";gon.message="yangjh";gon.manage_branch="\u7ba1\u7406\u5206\u652f";gon.manage_tag="\u7ba1\u7406\u6807\u7b7e";gon.enterprise_id=0;gon.cp="\u70b9\u51fb\u590d\u5236";gon.aready_cp="\u5df2\u590d\u5236";gon.ref="master";
//]]>
</script>
<!--[if lt IE 10]>
<script>
    window.location.href = "/incompatible.html";
</script>
<![endif]-->
<style type="text/css">.fancybox-margin{margin-right:17px;}</style><link rel="stylesheet" href="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/share_style1_32.css"></head>

<body class="git-project dimmable ff">
<script src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/app-89dadd5926ac158965f3a887b6961ae5.js" type="text/javascript"></script>
<script>
  $(function() {
    GitLab.GfmAutoComplete.dataSource = "/yangjh/stock2/autocomplete_sources"
    GitLab.GfmAutoComplete.Emoji.assetBase = '/assets/emoji'
    GitLab.GfmAutoComplete.setup();
  });
</script>

<header class="fixed noborder" id="git-header-nav">
<div class="ui container">
<div class="ui menu">
<div class="item gitosc-logo">
<a href="http://git.oschina.net/"><img class="ui inline image" src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/logo.svg">
</a></div>
<div class="dropdown item state-active ui" tabindex="0">
项目
<i class="dropdown icon"></i>
<div class="menu projects fixed-width" tabindex="-1">
<a href="http://git.oschina.net/explore/recommend" class="item" title="开源项目广场">开源项目广场
</a><div class="divider"></div>
<div class="header">公开：</div>
<a href="http://git.oschina.net/aoguang/stock2" title="aoguang/stock2" class="item">aoguang/stock2</a><a href="http://git.oschina.net/aoguang/mindaweiqingnian" title="aoguang/民大微青年" class="item">aoguang/民大微青年</a><a href="http://git.oschina.net/aoguang/learingphp" title="aoguang/learingphp" class="item">aoguang/learingphp</a>
<div class="divider"></div>
<div class="header">私有：</div>
<a href="http://git.oschina.net/aoguang/jiaowu" title="aoguang/jiaowu" class="item">aoguang/jiaowu</a>
<div class="ui dimmer">
<div class="ui loader"></div>
</div>
<div class="divider"></div>
<p class="actions text-right">
<a href="http://git.oschina.net/dashboard/projects" title="管理"><i class="iconfont icon-settings"></i>
</a><a href="http://git.oschina.net/projects/new" title="+新建"><i class="iconfont icon-add"></i>
</a></p>
</div>
</div>
<div class="dropdown item ui" tabindex="0">
组织
<i class="dropdown icon"></i>
<div class="menu groups fixed-width" tabindex="-1">
<div class="header">最近更新:</div>
<div class="disabled item tip">无组织</div>
<div class="divider"></div>
<div class="ui dimmer">
<div class="ui loader"></div>
</div>
<p class="actions text-right">
<a href="http://git.oschina.net/aoguang/groups" title="管理"><i class="iconfont icon-settings"></i>
</a><a href="http://git.oschina.net/organizations/new" title="+新建"><i class="iconfont icon-add"></i>
</a></p>
</div>
</div>
<div class="dropdown item ui" tabindex="0">
代码片段
<i class="dropdown icon"></i>
<div class="menu snippets fixed-width" tabindex="-1">
<a href="http://git.oschina.net/gists" class="item" title="代码片段广场">代码片段广场
</a><div class="divider"></div>
<div class="header">最近更新:</div>
<div class="disabled item tip">
无代码片段
</div>
<div class="divider"></div>
<div class="ui dimmer">
<div class="ui loader"></div>
</div>
<p class="actions text-right">
<a href="http://git.oschina.net/dashboard/codes" title="管理"><i class="iconfont icon-settings"></i>
</a><a href="http://git.oschina.net/aoguang/codes/new" title="+新建"><i class="iconfont icon-add"></i>
</a></p>
</div>
</div>
<a href="http://git.oschina.net/enterprises" class="item " target="_blank" title="企业服务">企业服务
<sup class="ui red label">
特惠
</sup>
</a><div class="right menu userbar" id="git-nav-user-bar">
<div class="item">
<form accept-charset="UTF-8" action="/search" id="projects-search-form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" value="✓" type="hidden"></div>
<div class="ui icon left mini fluid input">
<input autocomplete="off" id="search_top-search-input" name="search" placeholder="搜索项目..." type="text">
<i class="iconfont icon-search" id="projects-search"></i>
<input id="group_id" name="group_id" type="hidden">
<input id="project_id" name="project_id" value="674814" type="hidden">
</div>
</form>

<script>
  $('#projects-search').click(function(){
     $('#projects-search-form').submit();
  });
  $('#projects-search-form').submit(function(){
    query_name = $('.code-search-input').val()
    if(query_name != undefined && $.trim(query_name).length < 5){
      $('#search_top-search-input').focus();
      alert("代码搜索关键字不能少于5个");
      return false;
    }
  })
  
  // End
</script>

</div>
<a href="http://git.oschina.net/notifications" class="item notifications" id="noti"><i class="iconfont icon-remind"></i>
<div class="floating ui red circular label" id="unread-noti"></div>
</a><div class="ui dropdown link item" id="git-nav-create" tabindex="0">
<i class="iconfont icon-add-circle"></i>
<div class="menu" tabindex="-1">
<a href="http://git.oschina.net/projects/new" class="item"><i class="add square icon"></i>
新建项目
</a><a href="http://git.oschina.net/projects/oauth_github" class="item"><i class="github icon"></i>
Github导入
</a><a href="http://git.oschina.net/aoguang/codes/new" class="item"><i class="code icon"></i>
新建代码片段
</a><a href="http://git.oschina.net/organizations/new" class="item"><i class="group icon"></i>
创建组织
</a><a href="http://git.oschina.net/create_enterprise" class="item"><i class="icon iconfont icon-enterprise"></i>
开通企业版
</a></div>
</div>
<script>
  (function() {
    $.getJSON('/notifications/count', function(data) {
      var title;
  
      if (data.count > 0) {
        title = data.notifications + ' 未读通知 ' + data.messages + ' 条私信';
        $('#noti').attr('title', title);
        return $('#unread-noti').show();
      }
    });
  
  }).call(this);
</script>
<div class="ui dropdown item" id="git-nav-user" tabindex="0">
<img class="ui avatar image current-user-avatar" src="" alt="aoguang">
<i class="dropdown icon"></i>
<div class="right menu" tabindex="-1">
<a href="http://git.oschina.net/" class="item"><div class="mayun-icon my-ic-control-panel my-ic-control-panel-dims"></div>
控制面板
</a><a href="http://git.oschina.net/aoguang" class="item"><div class="mayun-icon my-ic-user-home my-ic-user-home-dims"></div>
个人主页
</a><a href="http://git.oschina.net/profile" class="item"><div class="mayun-icon my-ic-edit my-ic-edit-dims"></div>
修改资料
</a><div class="divider"></div>
<a href="http://git.oschina.net/explore/recommend" class="item"><div class="mayun-icon my-ic-explore my-ic-explore-dims"></div>
发现
</a><a href="http://git.mydoc.io/" class="item" target="_blank"><div class="mayun-icon my-ic-help my-ic-help-dims"></div>
帮助
</a><a href="http://git.oschina.net/oschina/git-osc/issues" class="item"><div class="mayun-icon my-ic-suggest my-ic-suggest-dims"></div>
建议
</a><div class="divider"></div>
<a href="http://git.oschina.net/logout" class="item" data-method="delete" rel="nofollow"><div class="mayun-icon my-ic-exit my-ic-exit-dims"></div>
退出
</a></div>
</div>

</div>
</div>
</div>
</header>
<script>
  (function() {
    var $header, initGroupsDropdown, initProjectsDropdown, initSnippetsDropdown;
  
    $header = $('#git-header-nav');
  
    $header.find('.userbar .ui.dropdown').dropdown({
      on: 'hover',
      action: 'nothing',
      onShow: function() {
        return $(this).parent().addClass('active');
      },
      onHide: function() {
        return $(this).parent().removeClass('active');
      }
    });
  
    initProjectsDropdown = function() {
      var $dimmer, $dropdown, isLoaded, isLoading, loadData, renderProjects;
  
      isLoaded = false;
      isLoading = false;
      $dropdown = $header.find('.projects.menu').parent();
      $dimmer = $dropdown.find('.ui.dimmer');
      renderProjects = function(target, projects) {
        var $target, html, name, path, project, _i, _len;
  
        $target = $dropdown.find('.' + target + '-projects');
        if (!projects || projects.length < 1) {
          return;
        }
        for (_i = 0, _len = projects.length; _i < _len; _i++) {
          project = projects[_i];
          path = project.path_with_namespace;
          name = project.name_with_namespace;
          html = ['<a href="/', path, '" title="', name, '" class="item">', name, '</a>'].join('');
          $target.before(html);
        }
        return $target.remove();
      };
      loadData = function() {
        if (isLoaded || isLoading) {
          return;
        }
        isLoading = true;
        $dimmer.addClass('active');
        $(this).parent().addClass('active');
        return $.getJSON('/api/v3/projects/last_10', function(data) {
          renderProjects('public', data["public"]);
          renderProjects('private', data["private"]);
          $dimmer.removeClass('active');
          isLoading = false;
          return isLoaded = true;
        });
      };
      $dropdown.dropdown({
        on: 'hover',
        action: 'nothing',
        onShow: loadData,
        onHide: function() {
          return $(this).parent().removeClass('active');
        }
      });
      return loadData();
    };
  
    initGroupsDropdown = function() {
      var $dimmer, $dropdown, $message, groups, isLoading, loadData, renderGroups;
  
      groups = null;
      isLoading = false;
      $dropdown = $header.find('.groups.menu').parent();
      $dimmer = $dropdown.find('.ui.dimmer');
      $message = $dropdown.find('.item.tip');
      renderGroups = function() {
        var group, html, name, path, _i, _len;
  
        if (!groups || groups.length < 1) {
          $message.show();
          return;
        }
        for (_i = 0, _len = groups.length; _i < _len; _i++) {
          group = groups[_i];
          path = group.path;
          name = group.name;
          html = ['<a href="/', path, '" title="', name, '" class="item">', name, '</a>'].join('');
          $message.before(html);
        }
        return $message.hide();
      };
      loadData = function() {
        if (groups || isLoading) {
          return;
        }
        isLoading = true;
        $dimmer.addClass('active');
        $(this).parent().addClass('active');
        return $.getJSON('/api/v3/groups/last_5', function(data) {
          groups = data;
          renderGroups();
          $dimmer.removeClass('active');
          return isLoading = false;
        });
      };
      $dropdown.dropdown({
        on: 'hover',
        action: 'nothing',
        onShow: loadData,
        onHide: function() {
          return $(this).parent().removeClass('active');
        }
      });
      return loadData();
    };
  
    initSnippetsDropdown = function() {
      var $dimmer, $dropdown, $message, gists, isLoading, loadData, renderGists;
  
      gists = null;
      isLoading = false;
      $dropdown = $header.find('.snippets.menu').parent();
      $dimmer = $dropdown.find('.ui.dimmer');
      $message = $dropdown.find('.item.tip');
      renderGists = function() {
        var gist, html, path, _i, _len;
  
        if (gists.length === 0) {
          $message.show();
          return;
        }
        for (_i = 0, _len = gists.length; _i < _len; _i++) {
          gist = gists[_i];
          path = gist.path;
          html = ['<a href="/', path, '" title="', path, '" class="item">', gist.filename, '</a>'].join('');
          $message.before(html);
        }
        return $message.hide();
      };
      loadData = function() {
        if (gists || isLoading) {
          return;
        }
        isLoading = true;
        $dimmer.addClass('active');
        $(this).parent().addClass('active');
        return $.getJSON('/api/v3/gists', function(data) {
          gists = data.slice(0, 6);
          renderGists();
          $dimmer.removeClass('active');
          return isLoading = false;
        });
      };
      $dropdown.dropdown({
        on: 'hover',
        action: 'nothing',
        onShow: loadData,
        onHide: function() {
          return $(this).parent().removeClass('active');
        }
      });
      return loadData();
    };
  
    initProjectsDropdown();
  
    initGroupsDropdown();
  
    initSnippetsDropdown();
  
    $header.find('.ui.enterprises.dropdown').dropdown({
      on: 'hover',
      action: 'nothing'
    });
  
  }).call(this);
</script>
<script>
  (function() {
    var updateNavbar;
  
    updateNavbar = function() {
      if (window.scrollY > 5) {
        return $('#git-header-nav').addClass('floating');
      } else {
        return $('#git-header-nav').removeClass('floating');
      }
    };
  
    updateNavbar();
  
    $(window).on('scroll', updateNavbar);
  
  }).call(this);
</script>
<script>
  var emailStatus, commentStatus, gotopStatus;
  
  var c_start;
  c_start = document.cookie.indexOf("remote_way=");
  if (c_start == -1) {
    setCookie('remote_way', "http", 360);
  }
  function setCookie(c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires = " + exdate.toGMTString()) + ("; path = /");
  }
</script>

<!--[if lt IE 10]>
<script>
  window.location.href = "/incompatible.html"
</script>
<![endif]-->

<div class="fixed-notice-messages">
<div class="ui hide green message" id="project-ok-msg">
私信发送成功
</div>
<div class="ui container">
<div class="flash-messages" id="messages-container"></div>
</div>
</div>
<script>
  (function() {
    var notify_content, notify_options, setCookie, template;
  
    template = '<div data-notify="container" class="ui {0} message" role="alert">' + '<i data-notify="dismiss" class="close icon"></i>' + '<span data-notify="message">{2}</span>' + '</div>';
  
    notify_content = null;
  
    notify_options = {};
  
    if (notify_content) {
      notify_options.delay = 3000;
      notify_options.template = template;
      notify_options.offset = {
        x: 10,
        y: 30
      };
      notify_options.element = '#messages-container';
      $.notify(notify_content, notify_options);
    }
  
    setCookie = function(name, value) {
      var Days, exp;
  
      Days = 360;
      exp = new Date;
      exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
      document.cookie = name + '=' + escape(value) + ';path=/' + ';expires=' + exp.toGMTString();
    };
  
    $('#remove-bulletin').on('click', function() {
      setCookie('remove_bulletin', 'xiamen_meetting');
      $('#git-bulletin').hide();
    });
  
  }).call(this);
</script>

<div class="git-project-header">
<div class="ui container">
<div class="ui info icon floating message green" id="fetch-ok" style="display: none">
<i class="info icon status-icon"></i>
<div class="content">
<div class="header status-title">
代码拉取完成
</div>
<span class="status-message">
系统将自动刷新
</span>
</div>
</div>
<div class="git-project-header-details">
<div class="git-project-header-actions">
<span class="ui basic buttons">
<a class="ui button donate" id="project-donate" title="捐赠">
<i class="iconfont icon-donation"></i>
捐赠
</a>
<a class="ui button social-count" href="http://git.oschina.net/yangjh/stock2#project-donate-overview">0</a>

<div class="ui small modal wepay-qrcode">
<div class="header">
扫描微信二维码支付
<span class="wepay-cash"></span>
</div>
<div class="content weqcode-center">
<img id="wepay-qrcode" src="">
</div>
<div class="actions">
<div class="ui negative button">取消</div>
<div class="ui button positive right">
支付完成
</div>
</div>
</div>
</span>
<script>
  (function() {
    var $btnSubmit, $dimmer, $fieldManualCash, $modal;
  
    $modal = $('.project-donate-modal');
  
    $dimmer = $modal.find('.dimmer');
  
    $modal.find('.radio.checkbox').checkbox({
      fireOnInit: true
    });
  
    $fieldManualCash = $modal.find('input[name="manual_cash"]').parents('.field');
  
    $modal.find('input[name="ensure_cash"]').on('change', function() {
      var $this;
  
      $this = $(this);
      $this.parents('.card-fields').find('.checked').removeClass('checked');
      $this.parent().addClass('checked');
      if ($this.val() === 'manual') {
        return $fieldManualCash.show();
      } else {
        return $fieldManualCash.hide();
      }
    });
  
    $('#btn-cancel-donate').on('click', function() {
      return $modal.modal('hide');
    });
  
    $btnSubmit = $modal.find('.ui.pay.button').on('click', function() {
      var $msg, $name, $payType, cash, data, msgReg, nameReg, token;
  
      msgReg = /.{4,256}/;
      nameReg = /.{2,36}/;
      $msg = $modal.find('[name="msg"]');
      $name = $modal.find('[name="name"]');
      $payType = $modal.find('input[name="pay_type"]:checked');
      token = $modal.find('meta[name="csrf-token"]').attr('content');
      cash = $modal.find('input[name="ensure_cash"]:checked').val();
      if (cash === 'manual') {
        cash = $('#manual_cash').val();
      }
      if (isNaN(cash) || cash < 1 || cash > 50000) {
        $('#manual_cash').parent().addClass('error');
        return;
      }
      data = {
        msg: $msg.val(),
        name: $name.val(),
        cash: cash,
        authenticity_token: token
      };
      $('#manual_cash').parent().removeClass('error');
      if (!nameReg.test(data.name)) {
        $name.parent().addClass('error');
        return;
      }
      $name.parent().removeClass('error');
      if (!msgReg.test(data.msg)) {
        $msg.parent().addClass('error');
        return;
      }
      $msg.parent().removeClass('error');
      $dimmer.addClass('active');
      $btnSubmit.addClass('disabled').prop('disabled', true);
      if ($payType.val() === 'wepay') {
        $.ajax({
          url: '/yangjh/stock2/wepay',
          data: data,
          type: 'POST',
          success: function(data) {
            var base64data, money;
  
            if (data.result === 'fail') {
              alert('无法完成支付！原因：' + data.msg);
              window.location.reload();
              return;
            }
            money = data.money + ' 元';
            base64data = 'data:image/png;base64,' + data.data.base64QRCode;
            $('#wepay-qrcode').attr('src', base64data);
            $('.wepay-cash').text(money);
            $('.ui.modal.wepay-qrcode').modal('show');
            $btnSubmit.removeClass('disabled').prop('disabled', false);
            $dimmer.removeClass('active');
            return $modal.modal('hide');
          },
          error: function(xhr) {
            if (xhr.status === 401) {
              alert('需要先登录账号才能完成支付！');
              window.location.href = '/login';
              return;
            }
            return alert('无法完成支付，请过一段时间后再试！');
          }
        });
      } else {
        $.ajax({
          url: '/yangjh/stock2/alipay',
          data: data,
          type: 'POST',
          success: function(data) {
            if (data.result === 'fail') {
              alert('无法完成支付！原因：' + data.msg);
              window.location.reload();
              return;
            }
            document.write(data.data.html);
            $dimmer.removeClass('active');
            return $btnSubmit.removeClass('disabled').prop('disabled', false);
          },
          error: function(xhr) {
            if (xhr.status === 401) {
              alert('需要先登录账号才能完成支付！');
              window.location.href = '/login';
              return;
            }
            return alert('无法完成支付，请过一段时间后再试！');
          }
        });
      }
      return false;
    });
  
  }).call(this);
</script>

<span class="basic buttons ui watch-container">
<a href="http://git.oschina.net/yangjh/stock2/unwatch" class="ui button unwatch" data-method="post" data-remote="true" rel="nofollow"><i class="iconfont icon-watch"></i>
Unwatch
</a><a href="http://git.oschina.net/yangjh/stock2/watch" class="ui button watch" data-method="post" data-remote="true" rel="nofollow"><i class="iconfont icon-watch"></i>
Watch
</a><a href="http://git.oschina.net/yangjh/stock2/watchers" class="ui button social-count" title="6">6
</a></span>
<span class="basic buttons star-container ui">
<a href="http://git.oschina.net/yangjh/stock2/unstar" class="ui button unstar" data-method="post" data-remote="true" rel="nofollow"><i class="iconfont icon-star"></i>
Unstar
</a><a href="http://git.oschina.net/yangjh/stock2/star" class="ui button star" data-method="post" data-remote="true" rel="nofollow"><i class="iconfont icon-star"></i>
Star
</a><a href="http://git.oschina.net/yangjh/stock2/stargazers" class="ui button social-count" title="6">6
</a></span>
<span class="ui basic buttons fork-container">
<a href="#" class="ui button  fork " id="fork-top-button"><i class="iconfont icon-fork"></i>
Fork
</a><a href="http://git.oschina.net/yangjh/stock2/members" class="ui button social-count" title="0">0
</a></span>
</div>
<h2 class="git-project-title">
<span class="project-title"><i class="iconfont icon-project-public" title="这是一个公开项目"></i> <a href="http://git.oschina.net/yangjh" class="author" target="_blank" title="yangjh">yangjh</a> / <a href="http://git.oschina.net/yangjh/stock2" class="repository" style="padding-bottom: 0px" target="" title="stock2">stock2</a></span><span class="project-badges"><a href="http://git.oschina.net/languages/PHP" class="ui small label" id="project-language" target="_blank" title="主要编程语言">PHP</a></span>
</h2>
</div>
</div>
<div class="row" id="import-result-message" style="padding-top: 0px; display: none">
<div class="sixteen wide column">
<div class="ui icon yellow message status-color">
<i class="info icon status-icon" style="width:60px;padding-right:12px;"></i>
<i class="close icon"></i>
<div class="header status-title">
同步状态
</div>
<span class="status-message"></span>
</div>
</div>
</div>
<div class="ui small modal" id="modal-fork-project">
<div class="header center aligned">
<div class="mayun-icon my-ic-notification my-ic-notification-dims"></div>
Fork 该项目？
</div>
<div class="content">
<p>使用 fork 功能将在后台会为你创建一个与该项目内容一样的同名项目，你可以在这个新项目里自由的修改内容。</p>
<p>建议只在有意向参与改进该项目时使用 fork 功能。</p>
</div>
<div class="actions center aligned">
<div class="ui small button orange ok"> 确定 </div>
<div class="ui small basic button close"> 取消 </div>
</div>
</div>
<script>
  (function() {
    var $modalFork, glo_is_fork;
  
    glo_is_fork = false;
  
    this.title_project_path = 'stock2';
  
    this.title_fork_url = '/yangjh/stock2/sync_fork';
  
    $modalFork = $('#modal-fork-project');
  
    $('#fork-top-button').on('click', function(e) {
      e.preventDefault();
      if (!glo_is_fork) {
        $modalFork.modal('show');
        return $modalFork.find('.button.ok').on('click', function() {
          var $form, $input, $inputCheck;
  
          glo_is_fork = true;
          $form = $('<form></form>');
          $form.css('display', 'none');
          $form.attr('method', 'post');
          $form.attr('action', '/aoguang/fork_project/yangjh/stock2');
          $input = $('<input type="hidden" name="authenticity_token" />');
          $inputCheck = $('<input type="hidden" name="members" />');
          $inputCheck.attr('value', $('.checkbox.checked > input[name=members]').val());
          $input.attr('value', $('meta[name="csrf-token"]').attr('content'));
          $form.append($input);
          $form.append($inputCheck);
          $form.appendTo('body');
          $form.submit();
          return $modalFork.modal('hide');
        });
      }
    });
  
  }).call(this);
</script>
<script>
  (function() {
    var $modalDonate;
  
    $modalDonate = $('.project-donate-modal').modal({
      onApprove: function() {
        return false;
      }
    });
  
    if ("" === 'true') {
      $modalDonate.modal('show');
    }
  
    $('#project-donate').on('click', function() {
      return $modalDonate.modal('show');
    });
  
    $('#send-message-to-author').on('click', function() {
      $modalDonate.modal('hide');
      return $('#project-user-message').trigger('click');
    });
  
    $('.ui.radio.checkbox').checkbox();
  
    $('.copy-member').checkbox('set checked');
  
  }).call(this);
</script>
<style>
  i.loading {
    -webkit-animation: icon-loading 1.2s linear infinite;
    animation: icon-loading 1.2s linear infinite;
  }
  .qrcode_cs{
    float: left;
  }
</style>

<div class="git-project-nav">
<div class="ui container">
<div class="ui secondary pointing menu">
<a href="http://git.oschina.net/yangjh/stock2" class="item active"><i class="iconfont icon-code"></i>
代码
</a><a href="http://git.oschina.net/yangjh/stock2/issues" class="item "><i class="iconfont icon-issue"></i>
Issues
<span class="ui mini circular label">
0
</span>
</a><a href="http://git.oschina.net/yangjh/stock2/pulls" class="item "><i class="iconfont icon-pull-request"></i>
Pull Requests
<span class="ui mini circular label">0</span>
</a><a href="http://git.oschina.net/yangjh/stock2/attach_files" class="item "><i class="iconfont icon-annex"></i>
附件
<span class="ui mini circular label">0</span>
</a><a href="http://git.oschina.net/yangjh/stock2/wikis" class="item "><i class="iconfont icon-wiki"></i>
Wiki
<span class="ui mini circular label">1</span>
</a><a href="http://git.oschina.net/yangjh/stock2/repository/stats/master" class="item "><i class="iconfont icon-statistics"></i>
统计
</a><div class="item">
<div class="ui dropdown git-project-service" tabindex="0">
<div class="text">
<i class="iconfont icon-service"></i>
服务
</div>
<i class="dropdown icon"></i>
<div class="menu" tabindex="-1">
<a href="http://git.oschina.net/yangjh/stock2/paas/select_platform" class="item">代码演示
</a><a href="http://git.oschina.net/yangjh/stock2/quality_analyses/confirm_platform" class="item">质量分析
</a><a href="http://git.oschina.net/yangjh/stock2/pages" class="item">Pages
</a></div>
</div>
</div>
</div>
</div>
</div>
<script>
  $('.git-project-nav .ui.dropdown').dropdown({ action: 'nothing' });
</script>
<style>
  .git-project-nav i.checkmark.icon {
    color: green;
  }
</style>
<script>
  $('#git-versions.dropdown').dropdown();
  $.ajax({
    url:"/yangjh/stock2/access/add_access_log",
    type:"GET"
  });
</script>

</div><div class="ui dimmer modals page"><div class="ui small modal project-donate-modal">
<div class="content">
项目的主人没有开启捐赠功能，快通知他让他开启吧！
<a id="send-message-to-author">
  
发送私信 &gt;&gt;
</a>
</div>
<div class="actions" id="modal-act">
<div class="message">
</div>
<div class="buttons">
<div class="ui green button">
关闭
</div>
</div>
</div>
</div></div>
<div class="git-project-content-wrapper">
<div class="ui container">
<div id="git-project-search-panel" style="display: none;">
<div class="header">
<button class="ui small basic button" id="back-to-list">
<i class="arrow left icon"></i>
返回列表
</button>
<a href="http://git.oschina.net/yangjh/stock2">stock2
</a>/
<input class="ui input" id="search-name" maxlength="40" placeholder="搜索文件">
</div>
</div>
<div class="git-project-content" id="git-project-content">
<div class="git-project-desc-wrapper">
<div class="git-project-desc">
<span class="git-project-desc-text">
基于成长股和网格交易理论的股票筛选、交易点提示程序。
</span>
<span class="git-project-homepage">
</span>
</div>
<div class="ui form" id="description-edit" style="display:none;">
<div class="fields">
<div class="eight wide field">
<div class="ui small input">
<input id="desc-input" placeholder="描述" value="基于成长股和网格交易理论的股票筛选、交易点提示程序。" type="text">
</div>
</div>
<div class="four wide field">
<div class="ui small input">
<input id="url-input" placeholder="项目主页(eg: https://git.oschina.net)" type="text">
</div>
</div>
<button class="ui positive button" id="btn-save-desc">
保存更改
</button>
<button class="ui button" id="btn-cancel-edit-desc">
取消
</button>
</div>
</div>
</div>
<script>
  (function() {
    var $btnCancel, $btnSave, $description, $homepage, $textDescription, $textHomepage, description, homepage;
  
    $homepage = $('#url-input');
  
    $description = $('#desc-input');
  
    homepage = $('#url-input').val();
  
    description = $('#desc-input').val();
  
    $textHomepage = $('.git-project-homepage');
  
    $textDescription = $('.git-project-desc-text');
  
    $btnSave = $('#btn-save-desc');
  
    $btnCancel = $('#btn-cancel-edit-desc');
  
    $btnCancel.on('click', function() {
      $('#description-edit').hide();
      return $('.git-project-desc').show();
    });
  
    $('#btn-edit-desc').on('click', function() {
      $homepage.val(homepage);
      $description.val(description).focus();
      $('#description-edit').show();
      return $('.git-project-desc').hide();
    });
  
    $btnSave.on('click', function() {
      var newDescription, newHomepage, reg, url;
  
      reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)/;
      url = '/yangjh/stock2/update_description';
      newDescription = $('#desc-input').val().trim();
      newHomepage = $('#url-input').val().trim();
      if (newHomepage && !reg.test(newHomepage)) {
        newHomepage = 'http://' + newHomepage;
      }
      $btnSave.addClass('disabled').prop('disabled', true);
      $btnCancel.addClass('disabled').prop('disabled', true);
      return $.post(url, {
        desc: newDescription,
        homepage: newHomepage
      }, function(data) {
        $btnSave.removeClass('disabled').prop('disabled', false);
        $btnCancel.removeClass('disabled').prop('disabled', false);
        if (data.status === -1) {
          alert('无权限操作!');
        } else if (data.status === 1) {
          description = newDescription;
          homepage = newHomepage;
          if (description) {
            $textDescription.text(description);
          } else {
            $textDescription.html('<i class="none">暂无描述</i>');
          }
          if (homepage) {
            $textHomepage.html('<a href="' + homepage + '" rel="nofollow">' + homepage + '</a>').show();
          } else {
            $textHomepage.hide();
          }
        } else if (data.status === 0) {
          alert('修改发生错误,请稍后重试!');
          return;
        } else {
          alert(data.status);
          return;
        }
        $('#description-edit').hide();
        return $('.git-project-desc').show();
      });
    });
  
  }).call(this);
</script>

<div class="ui horizontal hollow nopadding segments git-project-stats">
<div class="ui segment center aligned">
<a href="http://git.oschina.net/yangjh/stock2/commits/master"><i class="iconfont icon-commit"></i>
<b id="commits_count">12</b>
Commits
</a></div>
<div class="ui segment center aligned">
<a href="http://git.oschina.net/yangjh/stock2/branches"><i class="iconfont icon-branches"></i>
<b id="branches_count">1</b>
Branches
</a></div>
<div class="ui segment center aligned">
<a href="http://git.oschina.net/yangjh/stock2/tags"><i class="iconfont icon-tag"></i>
<b id="tags_count">0</b>
Tags
</a></div>
<div class="ui segment center aligned">
<a href="http://git.oschina.net/yangjh/stock2/releases" target="_blank"><i class="iconfont icon-release"></i>
<b id="releases_count">0</b>
Releases
</a></div>
<div class="ui segment center aligned">
<a href="http://git.oschina.net/yangjh/stock2/contributors?ref=master" target="_blank"><i class="iconfont icon-collaborators"></i>
<b id="collaborators_count">1</b>
Contributors
</a></div>
</div>
<div class="git-project-bread" id="git-project-bread">
<div class="ui right floated horizontal list">
<div class="item">
<div class="ui orange button" id="btn-dl-or-clone">
克隆/下载
<i class="dropdown icon"></i>
</div>
</div>
</div>
<div class="ui horizontal list">
<div class="item item git-project-branch-item">
<input id="path" name="path" value="" type="hidden">
<div class="ui top left pointing dropdown gradient button" id="git-project-branch">
<input id="ref" name="ref" value="master" type="hidden">
<div class="text">master</div>
<i class="dropdown icon"></i>
<div class="menu" tabindex="-1">
<div class="ui left icon search input">
<i class="iconfont icon-search"></i>
<input placeholder="搜索分支或标签" tabindex="0" type="text">
</div>
<div class="header"><div class="pull-right">
<a href="http://git.oschina.net/yangjh/stock2/branches/recent">管理</a></div>分支 (1)</div>
<div class="scrolling menu">
<div class="item active selected" data-value="master">master</div>
</div>
</div>
</div>
</div>
<div class="item">
<div class="disp-index repo-index" style="margin-left:0px;">
<div class="ui horizontal list repo-action-list">
<div class="item">
<a href="http://git.oschina.net/yangjh/stock2/issues/new" class="ui gradient button repo-action">+ Issue</a>
</div>
<div class="item">
<div class="ui pointing right top dropdown gradient button" id="git-project-file" tabindex="0">
<div class="text">文件</div>
<i class="dropdown icon"></i>
<div class="menu" tabindex="-1">
<div class="disabled item">新建文件</div>
<div class="disabled item">上传文件</div>
<a class="item repo-action" id="search-files">
搜索文件
</a>
</div>
</div>
</div>
<div class="item">
<a href="http://git.oschina.net/yangjh/stock2/widget" class="ui gradient button repo-action">挂件
</a></div>
</div>
</div>
</div>
<div class="breadcrumb_path item repo-none-index" style="margin-left: 0; padding-left: 0">
<div class="ui breadcrumb path" id="path-breadcrumb">
<a href="http://git.oschina.net/yangjh/stock2/tree/master" class="section repo-name" data-direction="back" style="font-weight: bold">stock2
</a></div>

</div>
</div>
<div class="ui popup bottom right transition hidden git-project-download-panel">
<div class="ui small secondary pointing menu">
<a class="item active" data-type="http" data-url="https://git.oschina.net/yangjh/stock2.git">HTTPS</a>
<a class="item" data-type="ssh" data-url="git@git.oschina.net:yangjh/stock2.git">SSH</a>
</div>
<div class="ui fluid right labeled small input">
<input id="project_clone_url" name="project_clone_url" onclick="focus();select()" readonly="readonly" value="https://git.oschina.net/yangjh/stock2.git" type="text">
<div class="ui basic label">
<div class="ui small basic orange button" data-clipboard-target="#project_clone_url" id="btn-copy-clone-url">
复制
</div>
</div>
</div>
<hr>
<a href="http://git.oschina.net/yangjh/stock2/repository/archive/master" class="ui fluid tiny download link button"><i class="icon download"></i>
下载ZIP
</a></div>
</div>
<style>
  .ui.dropdown .menu>.header{text-transform:none}
</style>
<script>
  $(document).ready(function () {
    var $tip = $('#apk-download-tip');
    if (!$tip.length) {
      return;
    }
    $tip.find('.btn-close').on('click', function () {
      $tip.slideUp();
    });
  });
  $('#git-project-branch').dropdown({
    fullTextSearch: true,
    onChange: function (value, text) {
      var path = $('#path').val();
      var href = ['/yangjh/stock2/tree', value, path].join('/');
      window.location.href = href;
    }
  });
  $('#git-project-file').dropdown({ action: 'hide' });
</script>
<script>
  (function() {
    var $btnCopy, $input, $item, $panel, clipboard, remoteWay;
  
    $input = $('#project_clone_url');
  
    remoteWay = 'http';
  
    clipboard = new Clipboard('#btn-copy-clone-url');
  
    $panel = $('.git-project-download-panel');
  
    $btnCopy = $('#btn-copy-clone-url');
  
    $panel.find('.menu > .item').on('click', function() {
      var $item;
  
      $item = $(this).addClass('active');
      $item.siblings().removeClass('active');
      $input.val($item.attr('data-url'));
      return setCookie('remote_way', $item.attr('data-type'), 360);
    });
  
    $('#btn-dl-or-clone').popup({
      popup: $panel,
      position: 'bottom right',
      on: 'click'
    });
  
    if (remoteWay) {
      $item = $panel.find('.item[data-type="' + remoteWay + '"]');
      if ($item.length === 0) {
        $item = $panel.find('.item[data-type="http"]');
      }
      $item.addClass('active').siblings().removeClass('active');
      $input.val($item.attr('data-url'));
    }
  
    clipboard.on('success', function() {
      $btnCopy.popup({
        content: '已复制',
        position: 'right center',
        onHidden: function() {
          return $btnCopy.popup('destroy');
        }
      });
      return $btnCopy.popup('show');
    });
  
    clipboard.on('error', function() {
      $btnCopy.popup({
        content: '复制失败，请手动复制',
        position: 'right center',
        onHidden: function() {
          return $btnCopy.popup('destroy');
        }
      });
      return $btnCopy.popup('show');
    });
  
  }).call(this);
</script>

<div class="row column tree-holder" id="tree-holder">
<div class="tree-content-holder" id="tree-content-holder">
<div class="ui flat nopadding segment tree-content">
<div class="git-project-recent-commit" id="git-project-info">
<div class="twelve wide column content float-left recent-commit">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
最后提交于
<span class="timeago" title="2017-03-24 18:20">1个月前</span>
.
<a href="http://git.oschina.net/yangjh/stock2/commit/6c225ad3d093eba37870ff7f440cc97e27e3db58" class="repo-index-commit-msg">修改数据转换中的错误</a>
</div>
<div class="clearfix"></div>
</div>

<div class="ui selection list tree-table ui grid" data-class="table_da39a3ee5e6b4b0d3255bfef95601890afd80709" id="tree-slider">
<div class="file_d2005cc206ccbfdedf2be43a200cb050c538bdb5 row tree-item" file_hex="file_d2005cc206ccbfdedf2be43a200cb050c538bdb5">
<div class="five wide column tree-item-file-name tree-folder">
<i class="iconfont icon-folders"></i>
<a href="http://git.oschina.net/yangjh/stock2/tree/master/application?dir=1&amp;filepath=application&amp;oid=74c333f66611ebb24924fc3705c7d3d1e5f40b3f&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title="application"><span class="simplified-path">

</span>
application
</a></div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/6c225ad3d093eba37870ff7f440cc97e27e3db58" class="tree-commit-link" title="修改数据转换中的错误">修改数据转换中的错误</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2017-03-24 18:20">1个月前</span>
</div>
</div>
<div class="rename-file_d2005cc206ccbfdedf2be43a200cb050c538bdb5 row tree-item tree-item-rename" file_hex="file_d2005cc206ccbfdedf2be43a200cb050c538bdb5" style="display:none">
<div class="ui column form" path="tree/master/application">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value="application" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui baisc button popup-close">取消</button>
</div>
</div>
</div>
</div>
<div class="file_317f1e761f2faa8da781a4762b9dcc2c5cad209a row tree-item" file_hex="file_317f1e761f2faa8da781a4762b9dcc2c5cad209a">
<div class="five wide column tree-item-file-name tree-folder">
<i class="iconfont icon-folders"></i>
<a href="http://git.oschina.net/yangjh/stock2/tree/master/system?dir=1&amp;filepath=system&amp;oid=863e678daa0d5f6df17f96521dfe0689c33ed212&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title="system"><span class="simplified-path">

</span>
system
</a></div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/699404ee06fd1321cc26cc9f3d0bf3c7f84b8615" class="tree-commit-link" title="使用adminLTE模板，为一些耗时较长的任务添加了进度条">使用adminLTE模板，为一些耗时较长的任务添加了进度条</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2016-11-21 19:07">5月前</span>
</div>
</div>
<div class="rename-file_317f1e761f2faa8da781a4762b9dcc2c5cad209a row tree-item tree-item-rename" file_hex="file_317f1e761f2faa8da781a4762b9dcc2c5cad209a" style="display:none">
<div class="ui column form" path="tree/master/system">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value="system" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui baisc button popup-close">取消</button>
</div>
</div>
</div>
</div>
<div class="file_eaa3d84cb77d92a21b111fd1e37f53edc1ff9de0 row tree-item" file_hex="file_eaa3d84cb77d92a21b111fd1e37f53edc1ff9de0">
<div class="five wide column tree-item-file-name tree-file">
<i class="iconfont icon-file"></i>
<a href="http://git.oschina.net/yangjh/stock2/blob/master/.DS_Store?dir=0&amp;filepath=.DS_Store&amp;oid=2094b1addb3a98eb7e3d358cbdf2ae59529b45b2&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title=".DS_Store">.DS_Store</a>
</div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/6c225ad3d093eba37870ff7f440cc97e27e3db58" class="tree-commit-link" title="修改数据转换中的错误">修改数据转换中的错误</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2017-03-24 18:20">1个月前</span>
</div>
</div>
<div class="rename-file_eaa3d84cb77d92a21b111fd1e37f53edc1ff9de0 row tree-item tree-item-rename" file_hex="file_eaa3d84cb77d92a21b111fd1e37f53edc1ff9de0" style="display:none">
<div class="ui column form" path="blob/master/.DS_Store">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value=".DS_Store" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui basic button popup-close">取消</button>
</div>
</div>
</div>
</div>
<div class="file_a5cc2925ca8258af241be7e5b0381edf30266302 row tree-item" file_hex="file_a5cc2925ca8258af241be7e5b0381edf30266302">
<div class="five wide column tree-item-file-name tree-file">
<i class="iconfont icon-file"></i>
<a href="http://git.oschina.net/yangjh/stock2/blob/master/.gitignore?dir=0&amp;filepath=.gitignore&amp;oid=3626fac87b23d17ba1334c45a81dd5b6393b1453&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title=".gitignore">.gitignore</a>
</div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/699404ee06fd1321cc26cc9f3d0bf3c7f84b8615" class="tree-commit-link" title="使用adminLTE模板，为一些耗时较长的任务添加了进度条">使用adminLTE模板，为一些耗时较长的任务添加了进度条</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2016-11-21 19:07">5月前</span>
</div>
</div>
<div class="rename-file_a5cc2925ca8258af241be7e5b0381edf30266302 row tree-item tree-item-rename" file_hex="file_a5cc2925ca8258af241be7e5b0381edf30266302" style="display:none">
<div class="ui column form" path="blob/master/.gitignore">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value=".gitignore" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui basic button popup-close">取消</button>
</div>
</div>
</div>
</div>
<div class="file_8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d row tree-item" file_hex="file_8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d">
<div class="five wide column tree-item-file-name tree-file">
<i class="iconfont icon-file"></i>
<a href="http://git.oschina.net/yangjh/stock2/blob/master/README.md?dir=0&amp;filepath=README.md&amp;oid=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title="README.md">README.md</a>
</div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/b53f8c883cb67e06f97054afc9f07574e1c6f894" class="tree-commit-link" title="修改雪球数据访问方式">修改雪球数据访问方式</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2016-10-31 23:25">6月前</span>
</div>
</div>
<div class="rename-file_8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d row tree-item tree-item-rename" file_hex="file_8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d" style="display:none">
<div class="ui column form" path="blob/master/README.md">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value="README.md" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui basic button popup-close">取消</button>
</div>
</div>
</div>
</div>
<div class="file_c02db02f5f5d99503ff0784938365eb0d39dd17b row tree-item" file_hex="file_c02db02f5f5d99503ff0784938365eb0d39dd17b">
<div class="five wide column tree-item-file-name tree-file">
<i class="iconfont icon-file"></i>
<a href="http://git.oschina.net/yangjh/stock2/blob/master/function.md?dir=0&amp;filepath=function.md&amp;oid=53c598eff88a5650dd32e28bf7e61e1ae2ea15d8&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title="function.md">function.md</a>
</div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/b53f8c883cb67e06f97054afc9f07574e1c6f894" class="tree-commit-link" title="修改雪球数据访问方式">修改雪球数据访问方式</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2016-10-31 23:25">6月前</span>
</div>
</div>
<div class="rename-file_c02db02f5f5d99503ff0784938365eb0d39dd17b row tree-item tree-item-rename" file_hex="file_c02db02f5f5d99503ff0784938365eb0d39dd17b" style="display:none">
<div class="ui column form" path="blob/master/function.md">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value="function.md" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui basic button popup-close">取消</button>
</div>
</div>
</div>
</div>
<div class="file_bb6499b8e938f92a3695fff1afe57edea4b9efb7 row tree-item" file_hex="file_bb6499b8e938f92a3695fff1afe57edea4b9efb7">
<div class="five wide column tree-item-file-name tree-file">
<i class="iconfont icon-file"></i>
<a href="http://git.oschina.net/yangjh/stock2/blob/master/index.php?dir=0&amp;filepath=index.php&amp;oid=d02b6bb3899a314769d02ccc2f9bfa428b9b1866&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title="index.php">index.php</a>
</div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/699404ee06fd1321cc26cc9f3d0bf3c7f84b8615" class="tree-commit-link" title="使用adminLTE模板，为一些耗时较长的任务添加了进度条">使用adminLTE模板，为一些耗时较长的任务添加了进度条</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2016-11-21 19:07">5月前</span>
</div>
</div>
<div class="rename-file_bb6499b8e938f92a3695fff1afe57edea4b9efb7 row tree-item tree-item-rename" file_hex="file_bb6499b8e938f92a3695fff1afe57edea4b9efb7" style="display:none">
<div class="ui column form" path="blob/master/index.php">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value="index.php" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui basic button popup-close">取消</button>
</div>
</div>
</div>
</div>
<div class="file_63b0bac63e6a8d4a13fe35e04eac455258e9500b row tree-item" file_hex="file_63b0bac63e6a8d4a13fe35e04eac455258e9500b">
<div class="five wide column tree-item-file-name tree-file">
<i class="iconfont icon-file"></i>
<a href="http://git.oschina.net/yangjh/stock2/blob/master/test.php?dir=0&amp;filepath=test.php&amp;oid=c55649a868a26752ebfce496c04cd4f32d8b6024&amp;sha=6c225ad3d093eba37870ff7f440cc97e27e3db58" title="test.php">test.php</a>
</div>
<div class="nine wide column tree_author">
<div class="commit-details">
<a href="http://git.oschina.net/yangjh" class="commit-author-link"><img alt="yangjh" class="mini avatar circular ui image s20" src="" width="20"> <span class="commit-author-name">yangjh</span></a>
<a href="http://git.oschina.net/yangjh/stock2/commit/c3b02dc5867002b6fbd97c505ffb957f781f4adf" class="tree-commit-link" title="更新了雪球抓取方式，增加头信息">更新了雪球抓取方式，增加头信息</a>
</div>
</div>
<div class="two wide column right aligned tree_time_ago">
<span class="timeago" title="2016-12-02 21:21">5月前</span>
</div>
</div>
<div class="rename-file_63b0bac63e6a8d4a13fe35e04eac455258e9500b row tree-item tree-item-rename" file_hex="file_63b0bac63e6a8d4a13fe35e04eac455258e9500b" style="display:none">
<div class="ui column form" path="blob/master/test.php">
<div class="two fields">
<div class="five wide field">
<input class="ui input" name="new_filename" value="test.php" type="text">
</div>
<div class="five wide field">
<button class="ui blue button popup-save" type="submit">保存</button>
<button class="ui basic button popup-close">取消</button>
</div>
</div>
</div>
</div>

</div>

</div>
<div class="tree_progress ui">
<div class="ui active inverted dimmer">
<div class="ui small text loader">Loading...</div>
</div>
</div>
</div>
<div id="git-readme">
<div class="ui flat nopadding segment file_holder">
<div class="file_title">
<i class="iconfont icon-readme"></i>
<span class="file_name">
README.md
<small>0 Bytes</small>
</span>
</div>
<div class="file_content markdown-body">
</div>
</div>
</div>
<script src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/md_relative_url-c7ca4ade5a8baf0c3c54efc04e57ec66.js" type="text/javascript"></script>
<script>
  if($('.markdown-body').children("style").length != 0){
    var i, array = $('.markdown-body').children("style");
    array.first().attr('scoped','');
    $.scoped();
  }
</script>

<div class="project-donate-overview" id="project-donate-overview">
<div class="ui center aligned">
<div class="ui large orange donate button">
 捐赠 
</div>
</div>
</div>
<script>
  (function() {
    var $btnLoad, $container, $list, $modal, $root, $tipLoading, checkLoad, href, isLoading, loadDonates, page, setDonates;
  
    $root = $('html, body');
  
    href = '#project-donate-overview';
  
    $('a[href="' + href + '"]').click(function() {
      $root.animate({
        scrollTop: $(href).offset().top
      }, 500, function() {
        return window.location.hash = href;
      });
      return false;
    });
  
    page = -1;
  
    isLoading = false;
  
    $list = $('.project-donate-list');
  
    $modal = $('.project-donate-modal');
  
    $container = $('#project-donate-overview');
  
    $tipLoading = $container.find('.tip-loading');
  
    $container.find('.donate.button').on('click', function() {
      return $modal.modal('show');
    });
  
    if (0 > 0) {
      $btnLoad = $container.find('.btn-load-more').on('click', function() {
        return loadDonates();
      });
      setDonates = function(list) {
        var $item, html, item, _i, _len, _results;
  
        _results = [];
        for (_i = 0, _len = list.length; _i < _len; _i++) {
          item = list[_i];
          html = ['<div class="header">', item.donator_name, '<span class="ui yellow circular label money">¥', item.money, '</span></div><div class="content">', item.message, '</div>'].join('');
          if (item.donator_avatar_url.indexOf('no_portrait.png') === 0) {
            item.donator_avatar_url = LetterAvatar(item.donator_name);
          }
          $item = $(['<span class="donate-info"><img src="', item.donator_avatar_url, '" class="ui inline circular image"', 'alt="', item.donator_name, '"></span>'].join(''));
          $list.append($item);
          _results.push($item.popup({
            inline: true,
            html: html,
            position: 'bottom center'
          }));
        }
        return _results;
      };
      loadDonates = function() {
        if (isLoading) {
          return;
        }
        page += 1;
        isLoading = true;
        $btnLoad.hide();
        $tipLoading.show();
        return $.getJSON('/yangjh/stock2/donates.json', {
          page: page
        }, function(list) {
          setDonates(list);
          isLoading = false;
          if (page * 10 + list.length < 0) {
            $btnLoad.show();
            return $tipLoading.hide();
          } else {
            $btnLoad.remove();
            return $tipLoading.remove();
          }
        });
      };
      checkLoad = function() {
        var listTop, top;
  
        top = $(window).scrollTop();
        listTop = $list.offset().top;
        if (listTop >= top && listTop < top + $(window).height()) {
          $(window).off('scroll', checkLoad);
          return loadDonates();
        }
      };
      $(window).on('scroll', checkLoad);
      checkLoad();
    }
  
  }).call(this);
</script>

<div class="git-project-comments">
<h3 id="project_comm_title">
<i class="iconfont icon-comment"></i>
项目点评
(<span class="comments-count">2</span>)
</h3>
<div class="ui comments middle aligned" id="notes-list"></div>
<div class="text-center">
<div class="tip-loading" style="display: none">
<div class="ui active mini inline loader"></div>
正在加载...
</div>
</div>
</div>
<script>
  (function() {
    var $btnLoad, $comments, $container, $tipLoading, checkLoad, commentsCount, loadComments, page;
  
    page = 0;
  
    commentsCount = 2;
  
    $container = $('.git-project-comments');
  
    $comments = $container.find('.ui.comments');
  
    $tipLoading = $container.find('.tip-loading');
  
    $btnLoad = $container.find('.btn-load-more');
  
    Notes.init();
  
    if (commentsCount < 1) {
      return;
    }
  
    loadComments = function() {
      $btnLoad.hide();
      $tipLoading.show();
      return $.ajax({
        url: '/yangjh/stock2/comment_list',
        data: {
          page: page
        },
        success: function(data) {
          $tipLoading.hide();
          $btnLoad.show();
          if (data.status !== 0) {
            $btnLoad.text('无更多评论');
            return $btnLoad.prop('disabled', true).addClass('disabled');
          } else {
            $comments.append(data.html);
            $comments.find('.timeago').timeago();
            $comments.find('.commenter-role-label').popup();
            page += 1;
            if (data.comments_count < 10) {
              $btnLoad.text('无更多评论');
              return $btnLoad.prop('disabled', true).addClass('disabled');
            }
          }
        }
      });
    };
  
    checkLoad = function() {
      var listTop, top;
  
      top = $(window).scrollTop();
      listTop = $container.offset().top;
      if (listTop >= top && listTop < top + $(window).height()) {
        $(window).off('scroll', checkLoad);
        return loadComments();
      }
    };
  
    $btnLoad.on('click', loadComments);
  
    $(window).on('scroll', checkLoad);
  
    checkLoad();
  
  }).call(this);
</script>

<div class="git-project-comment-form">
<img class="ui avatar image" src="" alt="aoguang">
<div class="ui form">
<div class="field">
<textarea class="md-input" id="editor_comment" placeholder="在此输入你对项目想说的话..."></textarea>
</div>
<div class="ui field right aligned">
<div class="ui orange button js-comment-button disabled" id="only_comment" disabled="disabled">
 评论 
</div>
</div>
</div>
</div>
<script>
  function insertText(obj,str) {
    if (document.selection) {
        var sel = document.selection.createRange();
        sel.text = str;
    } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {
        var startPos = obj.selectionStart,
            endPos = obj.selectionEnd,
            cursorPos = startPos,
            tmpStr = obj.value;
        obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);
        cursorPos += str.length;
        obj.selectionStart = obj.selectionEnd = cursorPos;
    } else {
        obj.value += str;
    }
  }
  
  $(function(){
    // 将字符串转义成正则表达式能用的字符串
    function escapeString(str) {
      var out = [];
      var keys = ['\\', '$', '(', ')', '*', '+', '.',
                  '[', ']', '?', '^', '{', '}', '|'];
  
      for (var i = 0; i < str.length; ++i) {
        var ch = str.charAt(i);
        if (keys.indexOf(ch) >= 0) {
          out.push('\\');
        }
        out.push(ch);
      }
      return out.join('');
    }
  
    var $commentsCount = $('.git-project-comments .comments-count');
    $("#only_comment").attr("disabled","disabled");
    $("#only_comment").addClass("disabled","disabled");
    $("#editor_comment").on("keyup", function(){
      var commit_button = $("#only_comment")
      if($.trim($(this).val()).length == 0){
        commit_button.attr('disabled','disabled').addClass('disabled');
      }else{
        commit_button.removeAttr('disabled').removeClass('disabled');
      }
    });
  
    $("#editor_comment").on("keydown",function(e){
      if( (e.ctrlKey && e.keyCode == 13) || (e.metaKey && e.keyCode == 13) ){
        $("#only_comment").trigger('click');
        return false;
      }else if(e.keyCode == 13){
        insertText(document.getElementById("editor_comment"),"  ");
      }
    });
  
    $('#only_comment').click(function(e){
      var $input = $('#editor_comment');
      var content = $input.val();
      var users = $input.data('users');
      var csrfToken = $('meta[name="csrf-token"]').attr('content');
  
      if (users) {
        for (name in users) {
          var username = users[name];
          var str = escapeString(name);
          var reg = new RegExp('(@' + str + ' )|(@' + str + '$)', 'g');
          content = content.replace(reg, '@' + username + ' ');
        }
      }
  
      $('.comment_send_loading').show();
      $input.attr("disabled", "disabled");
      $(this).attr("disabled","disabled").addClass("disabled");
  
      $.ajax({
        type: "POST",
        url: "/yangjh/stock2/comment",
        data: { authenticity_token: csrfToken, content: content },
        dataType: "script"
      }).done(function(e){
        commentsCount = parseInt($commentsCount.text()) + 1;
        $commentsCount.text(commentsCount);
      }).always(function(){
        $('.comment_send_loading').hide();
        $("#editor_comment").removeAttr("disabled").val("");
        var comment = $('.comment.note')[0];
        if(comment){
          var offsetTop = $(comment).offset().top-80;
          $('body,html').animate({scrollTop:offsetTop},600);
          $(comment).hide().delay(10).fadeIn(1400);
        }
      });
    });
  });
</script>

<script>
  function containSpecial(s){
    var containSpecial = RegExp(/[(\%\\)]+/);
    return (containSpecial.test(s));
  }
  
  $(function(){
    if("true" == "false" || "false" == "false" ){return null;}
    var editing = false
    window.alreadyContext = false
  
    $('html').on('click',function(event){
      if(alreadyContext){
        $('.tree-context').remove();
        alreadyContext=false;
        event.preventDefault();
      }
    })
  
    $('.tree-item').on('click',function(event){
      if(alreadyContext){
        event.preventDefault();
      }
    })
  
    function rename(file_hex){
      $(".row.tree-item").show();
      $(".tree-item-rename").hide();
  
      if($("."+file_hex).is(':hidden') == true) return;
  
      $("."+file_hex).hide();
      var _t = $(".rename-"+file_hex);
      src = _t.attr('src_text')
      if(src==undefined){
         newName = _t.find("[name='new_filename']").val()
        _t.attr('src_text',newName)
      }else{
        _t.find("[name='new_filename']").val(_t.attr('src_text'))
      }
      $(".rename-"+file_hex).css("display","");
    }
  
    setTimeout(function(){
      $(".popup-save").click(function(){
        form = $(this).parents(".ui.form")
        file_hex = $(this).parents(".row.tree-item").attr("file_hex");
        new_filename = $.trim(form.find("[name='new_filename']").val())
        if(containSpecial(new_filename)) {
          alert("文件名包含特殊字符！");
          return;
        }
        overwrite = false
        $('.tree-item-file-name').find('a').each(function(a){
          title = $(this).attr('title');
          if(title != undefined){
            if (title.split('/')[0].toLowerCase() == new_filename.toLowerCase()){
              overwrite = true;
            }
          }
        });
        if(overwrite){
          form.find("[name='new_filename']").focus();
          alert("存在相同的文件名,请修改后重试")
          return;
        }
        $.ajax({
          type: 'POST',
          url: "/yangjh/stock2/rename/"+form.attr("path"),
          data:
          {
            new_filename: new_filename
          },
          success: function(o){
            if(o.status == 1){
              href = window.location.href.split('?')[0]
              window.location.href = href;
            }else {
              alert("重命名失败！");
            }
          },
          dataType: "json"
        });
      })
  
      $(".popup-close").click(function(){
        $(".row.tree-item").show();
        $(".tree-item-rename").hide();
      })
      $('.tree-item-file-name').each(function(){
        var _this = $(this)
        if(_this.parent().attr('file_hex')!=undefined){
          _this.contextmenu(function(event){
            if(alreadyContext==false){
              content = "<div class='ui menu compact vertical tree-context'><a class='item tree-operation' id='btn-open-new-tab'><i class='file outline icon'></i>新标签打开</a><a class='item tree-operation' id='btn-rename'><i class='edit icon'></i>重命名</a><a class='item tree-operation' id='btn-delete'><i class='trash icon'></i>删除</a></div>"
              c = $(content);
              c.css('left',event.pageX+'px').css('top',event.pageY+'px').css('padding', 0)
              $('body').append(c)
              $('#btn-open-new-tab').on('click', function(event) {
                var path = _this.parent().find('a').attr('href');
                window.open(path);
              })
              $('#btn-rename').on('click',function(event){
                rename(_this.parent().attr('file_hex'));
                event.preventDefault();
              })
              $('#btn-delete').on('click',function(event){
                var path = _this.parent().next().find('.ui.form').attr('path')
                var r=confirm("确定要删除吗？")
                if(r){
                  $.ajax({
                    type: 'GET',
                    url: "/yangjh/stock2/delete/"+path,
                    success: function(o){
                      if(o.status == 1){
                        if($('.tree-item-file-name').length == 2){
                          window.location.href = '/'+gon.user_project;
                        }else{
                          href = window.location.href.split('?')[0]
                          window.location.href = href;
                        }
                      }else{
                        alert("删除失败！");
                      }
                    }
                  });
                }
                event.preventDefault();
              })
              alreadyContext = true
            }else{
              $('.tree-context').remove();
              alreadyContext=false;
            }
          event.preventDefault();
        })
      }})
    },1000)
  })
</script>

</div>
<script>
  (function() {
    $(function() {
      return Tree.init();
    });
  
  }).call(this);
</script>
</div>
</div>
</div><textarea tabindex="-1" style="position: absolute; top: -999px; left: 0px; right: auto; bottom: auto; border: 0px none; box-sizing: content-box; overflow-wrap: break-word; height: 0px ! important; min-height: 0px ! important; overflow: hidden; transition: none 0s ease 0s ;"></textarea>
<style>
  .team-member-checkbox .ui.radio.checkbox.checked label:after{top:7px !important}
</style>

<script>
  Tree.initHighlightTheme('white')
</script>
<div class="side-toolbar">
<div class="button share-link">
<i class="iconfont icon-share"></i>
</div>
<div class="ui popup">
<div class="header">
分享到
</div>
<div class="bdsharebuttonbox bdshare-button-style1-32" data-bd-bind="1493804854270">
<a class="item bds_weixin" data-cmd="weixin" title="分享到微信">weixin</a>
<a class="item bds_tsina" data-cmd="tsina" title="分享到新浪微博">sina</a>
<a class="item bds_sqq" data-cmd="sqq" title="分享到QQ好友">qq</a>
<a class="item bds_qzone" data-cmd="qzone" title="分享到QQ空间">qzone</a>
</div>
</div>
<div class="popup button" data-content="给项目拥有者发送私信" id="project-user-message">
<i class="iconfont icon-message"></i>
</div>
<div class="popup button" data-content="评论" id="home-comment">
<i class="iconfont icon-comment"></i>
</div>
<div class="button gotop popup" data-content="回到顶部" id="gotop">
<i class="iconfont icon-top"></i>
</div>
</div>
<div class="ui modal message-input">
<i class="close icon"></i>
<div class="header">给用户发送私信</div>
<div class="content">
<textarea class="message-content" maxlength="250" placeholder="请在这里输入私信内容" style="padding:1em;width:100%;resize:none;"></textarea>
</div>
<div class="actions">
<div class="ui orange right labeled icon button ok" id="send-message">
发送
<i class="checkmark icon"></i>
</div>
<div class="ui button basic cancel">
取消
</div>
</div>
</div>
<script>
  (function() {
    var sendMessage;
  
    $('#project-user-message').popup({
      position: 'left center'
    });
  
    $('body').delegate('#project-user-message, #show_send_msg_btn', 'click', function() {
      $('.message-content').val('');
      return $('.message-input').modal({
        onApprove: function() {
          return sendMessage("");
        }
      }).modal('show');
    });
  
    $('body').delegate('.set-msg-content', 'click', function() {
      return $('.message-content').val('想请您喝杯咖啡，请您开启项目捐赠功能吧。');
    });
  
    $('.message-content').on('keydown', function(e) {
      if ((e.ctrlKey && e.keyCode === 13) || (e.metaKey && e.keyCode === 13)) {
        $('#send-message').trigger('click');
        return false;
      }
    });
  
    sendMessage = function(e) {
      var content, username;
  
      content = $('.message-content').val();
      if ($.trim(content).length === 0) {
        alert("请输入私信内容");
        return false;
      } else {
        username = gon.message;
        return $.ajax({
          url: "/" + username + "/message",
          beforeSend: function(xhr) {
            xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
          },
          type: 'POST',
          data: {
            content: content
          },
          success: function(data) {
            if (data.status === 0) {
              return alert("可能由于发送过于频繁,留言发送失败,请稍后再试");
            } else {
              $('#project-ok-msg').fadeIn();
              return setTimeout(function() {
                return $('#project-ok-msg').fadeOut('2500');
              }, 1500);
            }
          },
          error: function() {
            return alert("可能由于网络原因,留言发送失败,请稍后再试");
          }
        });
      }
    };
  
  }).call(this);
</script><div class="ui popup"><div class="content">给项目拥有者发送私信</div></div>
<script>
  window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"分享到新浪微博","bdMini":"1","bdMiniList":["bdxc","tqf","douban","bdhome","sqq","thx","ibaidu","meilishuo","mogujie","diandian","huaban","duitang","hx","fx","youdao","sdo","qingbiji","people","xinhua","mail","isohu","yaolan","wealink","ty","iguba","fbook","twi","linkedin","h163","evernotecn","copy","print"],"bdPic":"","bdStyle":"1","bdSize":"32"},"share":{}};
</script>
<script src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/share.js" type="text/javascript"></script>
<script>
  (function() {
    var $gotop, $root, $toolbar, update;
  
    $root = $('body, html');
  
    $toolbar = $('.side-toolbar');
  
    $gotop = $('#gotop').popup({
      position: 'left center'
    }).on('click', function() {
      return $root.animate({
        scrollTop: 0
      }, 500);
    });
  
    update = function() {
      if ($(window).scrollTop() > 50) {
        return $gotop.addClass('active');
      } else {
        return $gotop.removeClass('active');
      }
    };
  
    $(window).on('scroll', update);
  
    update();
  
    $toolbar.find('.share-link').popup({
      inline: true,
      hoverable: true,
      position: 'left center',
      delay: {
        hide: 500
      }
    });
  
  }).call(this);
</script><div class="ui popup"><div class="content">回到顶部</div></div>
<script>
  (function() {
    var $comment, $root;
  
    $root = $('body, html');
  
    $comment = $('#home-comment').popup({
      position: 'left center'
    });
  
    $comment.on('click', function() {
      var comment, href, offsetTop;
  
      if ($('#project_comm_title').length === 0) {
        href = '/yangjh/stock2#project_comm_title';
        window.location.href = href;
        return;
      }
      comment = $('.comment.note')[0];
      if (comment) {
        offsetTop = $(comment).offset().top - 80;
        return $root.animate({
          scrollTop: offsetTop
        }, 400);
      } else {
        offsetTop = $('#editor_comment').offset().top + 30;
        $root.animate({
          scrollTop: offsetTop
        }, 400);
        return $('#editor_comment').focus();
      }
    });
  
  }).call(this);
</script><div class="ui popup"><div class="content">评论</div></div>

<footer id="git-footer-main">
<div class="ui container">
<div class="ui two column grid">
<div class="column">
<p><a href="http://www.oschina.net/" target="_blank">© OSChina.NET</a></p>
<div class="ui two column grid" id="footer-left">
<div class="column">
<div class="ui link list">
<div class="item">
<a href="http://git.oschina.net/terms" class="item">使用条款</a>
</div>
<div class="item">
<a href="http://git.mydoc.io/" class="item">帮助文档</a>
</div>
<div class="item">
<a href="mailto:git@oschina.cn" class="item" onclick="return false;" title="Email: git#oschina.cn">联系我们
</a></div>
</div>
</div>
<div class="column">
<div class="ui link list">
<div class="item">
<a href="http://git.oschina.net/appclient" class="item">APP与插件下载</a>
</div>
<div class="item">
<a href="http://git.oschina.net/links.html" class="item">友情链接</a>
</div>
<div class="item">QQ交流群：515965326(满) - 590057862</div>
</div>
</div>
</div>
</div>
<div class="column right aligned followus">
<div class="qrcode weixin">
<p>微信公众号</p>
<img alt="Qrcode-weixin" src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/qrcode-weixin-0133b31ee0f8fd2d88eee0821788abda.jpg">
</div>
<div class="qrcode weibo">
<p>微博</p>
<a href="http://weibo.com/mayunOSC" target="_blank"><img alt="Qrcode-weibo" src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/qrcode-weibo-f34c6c657c9e4204509917511c49c9ac.png">
</a></div>
</div>
</div>
</div>
<div class="bottombar">
<div class="ui container">
<div class="ui two column grid">
<div class="column">
本站带宽由 <a href="http://www.51idc.com/" target="_blank" title="51idc"><img alt="Logo-51idc" src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/logo-51idc-f1307c11a026d708360f16b4060a2a9f.png"></a> 提供
</div>
<div class="column right aligned">
<i class="icon world"></i>
<a href="http://git.oschina.net/language/zh-CN">简 体
</a>/
<a href="http://git.oschina.net/language/zh-TW">繁 體
</a>/
<a href="http://git.oschina.net/language/en">English
</a></div>
</div>
</div>
</div>
</footer>
<script>
  function force_mobile() {
    current_url = window.location.href;
    force_mobile_url = current_url.substr(0,current_url.indexOf('?'))+'?force_mobile=true';
    location.href = force_mobile_url;
  }
  (function () {
    // 更新底栏的位置，当页面内容高度小于窗口高度时，会将底栏浮动定位在窗口底端
    function updateFooterPosition() {
      var pageHeight = document.body.offsetHeight;
      if ($footer.hasClass('fixed-bottom')) {
        pageHeight += $footer.outerHeight();
        if (pageHeight > $(window).height()) {
          $footer.removeClass('fixed-bottom');
        }
      } else {
        if (pageHeight < $(window).height()) {
          $footer.addClass('fixed-bottom');
        }
      }
    }
    var $footer = $('#git-footer-main');
    $(document).on('ready', updateFooterPosition);
    $(window).on({
      'scroll': updateFooterPosition,
      'resize': updateFooterPosition
    });
    // 每隔一段时间检测页面高度变化，确保底栏能在页面最底端
    setInterval(updateFooterPosition, 500);
  })();
</script>



<script>
  (function (ww, dt) {
    ww.__gac = {
      domain: 'www.oschina.net'
    };
    var script = dt.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', '//www.oschina.net/public/javascripts/cjl/ga.js?t=20160926');
    dt.body.appendChild(script);
  } (window, window.document));
</script><script type="text/javascript" src="yangjh_stock2%20-%20%E7%A0%81%E4%BA%91%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD_files/ga.js"></script>
<div class="ui popup"><div class="content">主要编程语言</div></div><div class="ui popup"><div class="content">这是一个公开项目</div></div><div id="atwho-container"><div id="atwho-ground-editor_comment"><div id="at-view-58" class="atwho-view"><ul id="at-view-58-ul" class="atwho-view-url"></ul></div><div id="at-view-64" class="atwho-view"><ul id="at-view-64-ul" class="atwho-view-url"></ul></div><div id="issues" class="atwho-view"><ul id="issues-ul" class="atwho-view-url"></ul></div><div id="pull_requests" class="atwho-view"><ul id="pull_requests-ul" class="atwho-view-url"></ul></div><div id="codes" class="atwho-view"><ul id="codes-ul" class="atwho-view-url"></ul></div></div></div></body></html>